The availability of intelligent sensors and micro-sensors has furthered the development of wireless sensor networks. Wireless sensor networks have virtually limitless application particularly in situations where environmental monitoring is likely to provide useful information. Some examples of applications of sensor networks include remote healthcare, farming, environmental compliance, construction, condition-based maintenance, military surveillance, and medical disasters.
Conventional sensor networks struggle with a variety of issues. To be reliable, conventional sensor networks often must be highly redundant, that is, deploy sensors in large numbers so that if one or more sensors are rendered inoperable, necessary information may still be reliably collected and reported. With the advances in wireless networking, highly redundant systems have become more feasible, but may become costly to deploy or operate.
In addition, network routing of collected information remains a serious concern in most network architectures. In any network where all nodes cannot reach all other nodes in a single hop, a repeating mechanism is required. Furthermore, in sensor networks where nodes can come and go frequently, how a network responds to a failure impacts performance and reliability of the network. In general, networks that are able to dynamically reconfigure in the event of a node failure are desired particularly, in a sensor network, where connections can change quickly as the radio frequency (RF) environment changes, and battery power of nodes may be depleted in a unpredictable manner.
In conventional sensor networks, such as a camera surveillance system using multiple cameras as sensors, the cameras may be fixed and, once the location of the cameras were known to an intruder, the effectiveness of the surveillance system can be compromised. Furthermore, moving the cameras often requires costly system reconfiguration.
Wireless technologies allow for the deployment of sensor systems where some or all of the sensors may be untethered and/or mobile. Furthermore, in many applications, many or all of the sensors may need to operate largely unattended, as the sensors may be deployed in physically inaccessible or hazardous locations. For example, the sensors in a sensor network used to monitor military situations may be deployed in hostile enemy territory or sensors used to measure the levels of toxic chemicals may be deployed in areas with harmful levels of toxic chemicals. For at least these reasons, much research has been dedicated to developing wireless sensor networks that are pervasive, self-configuring, flexible, and programmable.
Since sensor data is associated with the physical location of the sensor, determining the spatial coordinates of a sensor is important. Indeed, many efforts to date have focused on perfecting localization techniques. Constraints on cost, size, or power as well as the line-of-sight constraint may preclude the use of global positioning techniques, such as GPS. In this case, self-configuring sensor networks would require to use other localization methods, which could, for example, involve the use of sensors in the network itself.
Traditional sensor networks suffer from a limitation that they are generally deployed with one application in mind and therefore with highly specialized software and/or configuration expectations. For example, separate sensor networks are deployed for home safety, home security surveillance, monitoring of infants, and home care of the elderly, in spite of the fact that these systems share, to a large extent, the same hardware and software. Even for the same application, upgrades of sensor nodes and their functionalities often incur costly system reconfiguration and software changes.
What is needed is methods and systems that allow the same sensor networks to support a variety of applications when this is feasible and to accommodate changes and upgrades of the system in a simple and low-cost manner. For example, the network should support automatic configuration and incorporation of new sensors and devices. What is further needed is a new sensor network programming environment that enables a sensor application programmer to program a sensor network in a network topology and resource independent manner.